package org.jeecg.modules.lab.items.record.service;


import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.lab.entrust.entity.LabEntrustItems;
import org.jeecg.modules.lab.entrust.entity.LabItemsRecordPerson;
import org.jeecg.modules.lab.items.vo.LabRecordNorm;
import org.jeecg.modules.lab.items.vo.LabRecordPer;

import java.util.List;

/**
 * @Description: 项目检测记录_人员信息
 * @Author: jeecg-boot
 * @Date:   2023-10-08
 * @Version: V1.0
 */
public interface ILabItemsRecordPersonService extends IService<LabItemsRecordPerson> {

    /**
     * 根据实验项目，插入对应项目模板的人员信息
     *
     * @param labEntrustItems
     */
    public void insertPersonData(LabEntrustItems labEntrustItems);


    /**
     * 封装检测人员数据
     * @param entrustId
     * @param itemId
     * @return
     */
    public List<LabRecordPer> handlePerData(String entrustId,String taskItemId,String itemId);

    /**
     * 封装检测人员数据(APP)
     * @param entrustId
     * @param itemId
     * @return
     */
    public List<LabItemsRecordPerson> handlePerDataApp(String entrustId,String taskItemId,String itemId);


    /**
     * 更新人员信息数据
     * @param entrustId
     * @param itemId
     * @param recordPerList
     */
    public void saveOrUpdate(String entrustId, String itemId, List<LabRecordPer> recordPerList);

    /**
     * 更新人员信息数据(App)
     * @param entrustId
     * @param itemId
     * @param
     */
    public void saveOrUpdateApp(String entrustId, String itemId, List<LabItemsRecordPerson> itemsRecordPersonList);

    /**
     * 根据 委托id和项目id
     * @param entrustId
     * @param itemId
     * @return
     */
    public List<LabItemsRecordPerson> byEntrustItemId(String entrustId,String itemId);


    /**
     * 根据科研项目模板生成实验记录
     */
    public void kyInsertPersonData(LabEntrustItems labEntrustItems);

    public void deleteByTaskId(String id);
}
